Next:
SOLID Principle
, Previous:
Simple Builder
, Up:
Index
Scenario
Builer Pattern
빌더 패턴은 생성이 까다로운 객체를 처리하기 위해 사용하는 패턴이다.
(생성자 호출 코드 단 한줄로 생성할 수 없는 객체를 처리하기 위해 객체 생성하는 코드를 분리하여 관리)
struct
HtmlElement
{
string
name
;
string
text
;
vector
<
HtmlElement
>
elements
;
HtmlElement
(
)
{
}
HtmlElement
(
const
string
&
name
,
const
string
&
text
)
:
name
(
name
)
,
text
(
text
)
{
}
string
str
(
int
indent
=
0
)
const
{
//
컨
텐
츠
양
식
이
맞
게
출
력
}
}
;
//
사
용
string
words
[
]
=
{
"
hello
"
,
"
world
"
}
;
HtmlElement
list
{
"
ul
"
,
"
"
}
;
for
(
auto
w
:
words
)
list
.
elements
.
emplace_back
{
HtmlElement
{
"
li
"
,
w
}}
;
printf
(
list
.
str
(
)
.
c_str
(
))
;
OOP에 기반하여 항목 리스트를 표현한다.
HtmlElements을 생성하는 작업을 더 편리하기 위해 빌더 패턴을 활용한다.